home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
vb016e
/
vb016aex.frm
< prev
next >
Wrap
Text File
|
1995-09-06
|
3KB
|
112 lines
VERSION 2.00
Begin Form Form1
Caption = "VISUAL BASICS #16"
ClientHeight = 2205
ClientLeft = 2100
ClientTop = 1875
ClientWidth = 3075
Height = 2610
Left = 2040
LinkMode = 1 'Source
LinkTopic = "Form1"
ScaleHeight = 2205
ScaleWidth = 3075
Top = 1530
Width = 3195
Begin CommandButton Command4
Caption = "Quit"
Height = 375
Left = 120
TabIndex = 3
Top = 1560
Width = 2775
End
Begin CommandButton Command3
Caption = "Be owned by PROGMAN.EXE"
Height = 375
Left = 120
TabIndex = 2
Top = 1080
Width = 2775
End
Begin CommandButton Command2
Caption = "Disown Form 2"
Height = 375
Left = 120
TabIndex = 1
Top = 600
Width = 2775
End
Begin CommandButton Command1
Caption = "Own Form 2"
Height = 375
Left = 120
TabIndex = 0
Top = 120
Width = 2775
End
End
Declare Function SetWindowWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal wNewWord As Integer) As Integer
Declare Function SetFocusAPI Lib "User" Alias "SetFocus" (ByVal hWnd As Integer) As Integer
Declare Function GetFocus Lib "User" () As Integer
Declare Function GetActiveWindow Lib "User" () As Integer
Sub Command1_Click ()
GWW_HWNDPARENT% = (-8)
X = SetWindowWord(Form2.hWnd, GWW_HWNDPARENT%, Form1.hWnd)
Form2.Label1.Caption = "Now I'm owned by Form1! He can't block me!"
End Sub
Sub Command2_Click ()
GWW_HWNDPARENT% = (-8)
X = SetWindowWord(Form2.hWnd, GWW_HWNDPARENT%, 0)
Form2.Label1.Caption = "Just an ordinary form again."
End Sub
Sub Command3_Click ()
GWW_HWNDPARENT% = (-8)
If Command3.Caption = "Be owned by PROGMAN.EXE" Then
AppActivate "Program Manager"
SendKeys "%{ }R", -1
PMhWnd% = GetFocus()
X% = SetWindowWord(Form1.hWnd, GWW_HWNDPARENT%, PMhWnd%)
Form1.Caption = "PROGMAN OWNED"
Command3.Caption = "Be FREE"
X% = SetFocusAPI(Form1.hWnd)
Else
X% = SetWindowWord(Form1.hWnd, GWW_HWNDPARENT%, 0)
Form1.Caption = "VISUAL BASICS #16"
Command3.Caption = "Be owned by PROGMAN.EXE"
End If
End Sub
Sub Command4_Click ()
Unload Form2
Unload Form1 ' see FORM1.FORM_UNLOAD
End
End Sub
Sub Form_Load ()
Form2.Show
Command1.Caption = "Own Form 2"
Command2.Caption = "Disown Form 2"
Command3.Caption = "Be owned by PROGMAN.EXE"
Command4.Caption = "Quit"
Form2.Label1.Caption = "Just an ordinary form"
End Sub
Sub Form_Unload (Cancel As Integer)
'WHEN UNLOADING, SET OWNERS OF ALL WINDOWS TO 0
'THIS AVOIDS A CRASH!
GWW_HWNDPARENT% = (-8)
X% = SetWindowWord(Form1.hWnd, GWW_HWNDPARENT%, 0)
X% = SetWindowWord(Form2.hWnd, GWW_HWNDPARENT%, 0)
End Sub
Sub makeOwnedWindow (ownedHwnd%, ownerHwnd%)
' offset into window structure's parent handle element
GWW_HWNDPARENT% = (-8)
X = SetWindowWord(ownedHwnd%, GWW_HWNDPARENT%, ownerHwnd%)
End Sub